// import $router from '@/router'
// import { usePhoneInfoStore, useUserInfoStore } from '@/stores'
// import { UERR_RIGHTS } from '@/utils/enums'
// import { getUserInfoApi } from './api/user/user'
// import { Msg } from './utils/tools'

// const whiteList = ['/login']

// $router.beforeEach((to, from, next) => {
//   const { token, userInfo } = useUserInfoStore()
//   const { setPhone } = usePhoneInfoStore()

//   if (token) {
//     if (to.path === '/login') {
//       return next({ path: '/' })
//     }

//     if (whiteList.indexOf(to.path) !== -1) {
//       next()
//       return
//     }
//     if (UERR_RIGHTS[userInfo.userType]) {
//       getUserInfoApi()
//         .then(({ data }) => {
//           const isRoles = data.roles.some((item) => item.roleKey === UERR_RIGHTS[userInfo.userType])
//           if (isRoles) {
//             setPhone(data.userName) // 单独缓存
//             userInfo.nickName = data.nickName
//             userInfo.userId = data.userId
//             next()
//           } else {
//             next({ path: '/' })
//           }
//         })
//         .catch((err) => {
//           Msg(`获取用户信息失败:${err}`)
//           next({ path: '/' })
//         })
//     } else {
//       next({ path: '/' })
//     }
//   } else {
//     if (whiteList.indexOf(to.path) !== -1) {
//       // 在免登录白名单，直接进入
//       next()
//     } else {
//       next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
//     }
//   }
// })
